package com.dpiinc.TechPage.model

import com.dpiinc.TechPage.room.bean.NoteEntity
import java.io.Serializable

/**
 * 笔记相关数据Bean
 * Created by X on 2018/7/5.
 */


/**
 * 笔记列表
 */
data class NoteListBean(val totalCount: Int,//总条数
                        val currentPage: Int,//当前页码
                        val pageCount: Int,//当前页码数据个数
                        val deleteInfo: DeleteInfo,//删除的笔记id列表；latestGetTime到这次请求时间段内所有删除笔记的列表。
                        val list: List<NoteEntity>//笔记列表
)
//    : BaseResponse()

/**
 * 删除信息。deleteType为“all”时，客户端做全量更新，客户端本地数据需要全部删除重新获取数据，list无效；deleteType为“increment”时，list有效，latestGetTime到这次请求时间段内所有删除笔记的笔记id。
 */
data class DeleteInfo(
        val deleteType: String,//删除类型
        val deleteList: List<String>
)

/**
 * 笔记编辑（新增、编辑、删除）结果
 */
data class EditNoteResult(val noteId: String,
                          val dotPath: String,//笔迹文件路径前缀。新增时由服务器返回  下同
                          val recordPath: String,
                          val imagePath: String
)

/**
 * 文件（笔迹文件、录音文件、图片文件）
 * Created by X on 2018/7/26.
 */
class FileBean : Serializable {
    var id: String = ""
    var isNew: Boolean = false
    var name: String = ""
    @Deprecated("deprecated", ReplaceWith("fileUrl"))
    var url: String = ""
    //文件完整地址
    var fileUrl: String = ""
    //Oss 文件路径
    var objectKey: String = ""
    var modifyTime: Long = 0
}

/**
 * 图片文件
 * @property preview 预览图
 * @property imgData 笔迹图片
 */
class ImagesBean : Serializable {
    var preview: FileBean? = null
    var imgData: List<FileBean>? = null
}